package pl.edu.amu.wmi.kino.visualjavafx.model.objects.path;

import pl.edu.amu.wmi.kino.visualjavafx.model.objects.*;
import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport;
import java.util.ArrayList; 

// <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
// #[regen=yes,id=DCE.B920CF6A-9EEC-1AED-1151-E148DA9B8B75]
// </editor-fold> 
public class CurveToPathElement implements PathElement ,java.io.Serializable{

    // Code block for changeListeners support start
    protected PropertyChangeSupport propertySupport= new PropertyChangeSupport(this);
    public void addPropertyChangeListener(PropertyChangeListener listener) {
        propertySupport.addPropertyChangeListener(listener);
    }
    public void removePropertyChangeListener(PropertyChangeListener listener) {
        propertySupport.removePropertyChangeListener(listener);
    }
    // Code block for changeListeners support end
    
     private ArrayList<Point> mPoints = new ArrayList<Point>();


    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.3E593A18-E3E0-DF8D-B62C-054350F65D12]
    // </editor-fold> 
    public CurveToPathElement () {
    }

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.2660A323-4985-A9DE-E859-7BD92543D85F]
    // </editor-fold> 
    @Override
    public ArrayList<Point> getPoints () {
       return this.mPoints;
    }
    @Override
    public PathElement shallowClone(){
        CurveToPathElement res = new CurveToPathElement();
        for(Point p : this.mPoints){
            res.mPoints.add(p.clone());
        }
        return res;
    }

}

